
//list.xmlのXMLオブジェクト
var listXML;

//<記事のタイトル>.xmlのXMLオブジェクト
var articleXML;


//■XMLファイルの読み込み
//fileURL : 
//type : レスポンス関数の区別
//        0 : XMLファイルリストを表示
//        1 : XMLファイルの内容を・・・TODO
function loadXML(fileURL , type){
  var xmlhttp;
  try{
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e) {
    try{
	xmlhttp = new ActionXObject("Microsoft.XMLHTTP");
    }
    catch(e){
	xmlhttp = undefined;
    }
  }
  if(!xmlhttp){
	xmlhttp = new XMLHttpRequest();
  }

  //通信を行う
  xmlhttp.open("GET" , fileURL , true);

  //受信時に起動するイベント
  xmlhttp.onreadystatechange = function(){ 
    //readyState値は4で受信完了
    if (xmlhttp.readyState==4){ 
	//レスポンスを取得
	res  = xmlhttp.responseXML;
	//■type=0 : 左キャンバスにセット
	if(type===0){
//alert("loadXML/レスポンス受けとりました。タイプ0です。");//デバック用
	  listXML = res;
	  var fileList = listXML.getElementsByTagName("FILE");
	  for(i=0 ; i<fileList.length ; i++){
	    var t = fileList[i].firstChild.nodeValue;
	    document.getElementById("leftCanvas").innerHTML += ("■<a href='#' onClick='setArticle("+i+")'>"+t+ "</a><br>");
	  }
	}

	//■type=1 : メインキャンバスにセット
	else if(type===1){
//alert("loadXML/レスポンス受けとりました。タイプ1です。");//デバック用
	  articleXML = res;
	  //タイトルをセット
	  document.getElementById("title").innerHTML += articleXML.getElementsByTagName("TITLE")[0].firstChild.nodeValue;
	  //本文をセット
	  document.getElementById("description").innerHTML += removeTag(articleXML.getElementsByTagName("DESCRIPTION")[0].firstChild.nodeValue);
	}




    }
  }
  xmlhttp.send(null);
}

//■■左キャンバスに，タイトル一覧をセットします。
function setList(){
//alert("setList/START");//デバック用
  loadXML("./xml/list.xml" , 0);
}

//■■メインキャンバスに，タイトルと記事をセットします。
//var articleXMLもセットします。
function setArticle(titleNo){
  //記事を初期化
  articleXML = null;
  document.getElementById("title").innerHTML = "";
  document.getElementById("description").innerHTML = "";

  var url = "./xml/doc/"+listXML.getElementsByTagName("FILE")[titleNo].firstChild.nodeValue+".xml";
  loadXML(url , 1);
}

//■■タグを取り除く
function removeTag(str){
  return str.replace(/<\/?[^>]+>/gi, "");
}




